5.10 Натройка PTP
5.10.1 Обзор
Введение в функционал
Precision Time Protocol (PTP) - определенный стандартом IEEE 1588, синхронизирует в реальном времени устройства в сети с точностью до наносекунд. Часы в сети организуются в иерархию «мастер-участник». PTP определяет порт коммутатора, подключенный к устройству с наиболее точными часами. Эти часы называются мастер-часами. Все остальные устройства сети синхронизируют свои часы с мастером и называются участниками. Постоянный обмен временными сообщениями обеспечивает непрерывную синхронизацию.
PTP особенно полезен для систем промышленной автоматизации и сетей управления процессами, где важны точность движений и контроль измерительного оборудования.
Вы можете настроить коммутатор так, чтобы:
- Передавать пакеты PTP как обычный мультикаст-трафик (PTP отключен).
- Синхронизировать все порты коммутатора с главным мастером (прозрачный режим).
- Использовать режим пограничных (boundary) или обычных (ordinary) часов, в котором коммутатор участвует в выборе лучшего мастера и может стать мастером, если лучшие часы не обнаружены.
Принципы работы
Реализовано в соответствии со стандартом IEEE 1588-2008.
Терминология
| Термин | Описание |
|---|---|
| GPS | Глобальная система позиционирования |
| NTP | Протокол сетевого времени |
| PTP | Протокол точного времени |
| UTC | Координированное всемирное время |
| TAI | Международное атомное время |
5.10.2 Настройки по умолчанию
| Функция | Значение по умолчанию |
|---|---|
| Часы PTP | Отключено |
| Тип устройства PTP | Обычные часы |
| Приоритет PTP (priority1 и priority2) | 128 (по умолчанию) |
| Режим шагов PTP | Двухшаговый |
| Интервал объявлений | 2 секунды |
| Тайм-аут объявлений | 8 секунд |
| Интервал запросов задержки | 1 секунда |
| Интервал запросов задержки (peer) | 1 секунда |
| Интервал синхронизации | 1 секунда |
5.10.3 Конфигурация

Рисунок 5-10: PTP Timing Domain
Конфигурация домена времени PTP с использованием пограничных часов
Шаг 1: Настройка Switch1 как обычных часов
Настройте Switch1 как обычные часы с priority1 = 0, чтобы этот коммутатор имел наивысший приоритет в домене PTP и стал мастером. Включите глобально PTP, установите priority1 в 0, выберите механизм задержки (peer) и включите PTP на интерфейсе.
Switch# configure terminal
Switch(config)# ptp global-enable
Switch(config)# ptp priority1 0
Switch(config)# interface eth-0-9
Switch(config-if)# ptp delay-mechanism peer
Switch(config-if)# ptp enable
Шаг 2: Настройка Switch2 как пограничных часов
Установите тип устройства на boundary clock и включите PTP глобально. Настройте механизм задержки (peer) и включите PTP на интерфейсах:
Switch# configure terminal
Switch(config)# ptp device-type bc
Switch(config)# ptp global-enable
Switch(config)# interface eth-0-9
Switch(config-if)# ptp delay-mechanism peer
Switch(config-if)# ptp enable
Switch(config)# interface eth-0-18
Switch(config-if)# ptp delay-mechanism peer
Switch(config-if)# ptp enable
Шаг 3: Настройка Switch3 как обычных часов
Включите PTP глобально и настройте свойство slave-only в значение TRUE. Настройте механизм задержки (peer) и включите PTP на интерфейсе:
Switch# configure terminal
Switch(config)# ptp global-enable
Switch(config)# ptp slave-only
Switch(config)# interface eth-0-18
Switch(config-if)# ptp delay-mechanism peer
Switch(config-if)# ptp enable
Шаг 4: Проверка
Проверка глобального состояния PTP на Switch1:
Switch# show ptp
---------------------- Global Configure ----------------------
PTP State : enable
Port Number : 1
Domain : 0
Slave Only : false
Clock Type : ordinary clock
Priority1 : 0
Priority2 : 128
Clock Accuracy : 0xfe
Clock Class : 248
Time Source : internal-oscillator(160)
UTC Offset : 34
Leap59 : false
Leap61 : false
Local Clock Identity : 60:4D:39:FF:FE:FF:C5:00
Set systime via PTP: : false
----------------------- BMC Properties -----------------------
Receive Member : (null)
Parent Clock Identity : 60:4D:39:FF:FE:FF:C5:00
Parent Port Number : 0
Mean Path Delay : 0
Offset From Master : 0
Step Removed : 0
GM Clock Identity : 60:4D:39:FF:FE:FF:C5:00
GM Priority1 : 0
GM Priority2 : 128
GM Clock Accuracy : 0xfe
GM Clock Class : 248
GM Time Source : internal-oscillator(160)
GM UTC Offset : 34
GM UTC Offset Valid : false
GM Time Scale : PTP
GM Time Traceable : false
GM Leap59 : false
GM Leap61 : false
GM Frequency Traceable : false
Проверка состояния порта PTP на Switch1:
Switch# show ptp interface eth-0-9
---------------------------------------------------------------
Interface : eth-0-9
----------------------- Port Configure -----------------------
PTP state : enable
Port ID : 60:4D:39:FF:FE:FF:C5:00@9
Delay Mechanism : peer
Step Mode : two
Port State : master
Announce Interval : 1
Sync Interval : 0
Announce Receipt Timeout : 4
PDelay_Req Interval : 0
Peer Mean Path Delay : 0
----------------------- Port Statistic -----------------------
Recv Packet Statistics
---------------------------------------------------------------
Announce : 5 Sync : 0
Delay_Req : 0 Pdelay_Req : 5248
Delay_Resp : 0 Pdelay_Resp : 5249
Follow_Up : 0 Pdelay_Resp_Follow_Up : 5249
Unknown : 0
Send Packet Statistics
---------------------------------------------------------------
Announce : 5345 Sync : 10609
Delay_Req : 0 Pdelay_Req : 10617
Delay_Resp : 0 Pdelay_Resp : 5248
Follow_Up : 10607 Pdelay_Resp_Follow_Up : 5248
Unknown : 0
Discard Packet Statistics
---------------------------------------------------------------
Announce : 0 Sync : 9
Delay_Req : 0 Pdelay_Req : 0
Delay_Resp : 0 Pdelay_Resp : 0
Follow_Up : 9 Pdelay_Resp_Follow_Up : 0
Unknown : 0
Проверка глобального состояния PTP на Switch2:
Switch# show ptp
---------------------- Global Configure ----------------------
PTP State : enable
Port Number : 2
Domain : 0
Slave Only : false
Clock Type : boundary clock
Priority1 : 128
Priority2 : 128
Clock Accuracy : 0xfe
Clock Class : 248
Time Source : internal-oscillator(160)
UTC Offset : 34
Leap59 : false
Leap61 : false
Local Clock Identity : 5E:C4:DC:FF:FE:AE:78:00
Set systime via PTP: : false
----------------------- BMC Properties -----------------------
Receive Member : eth-0-9
Parent Clock Identity : 60:4D:39:FF:FE:FF:C5:00
Parent Port Number : 9
Mean Path Delay : 0
Offset From Master : 0
Step Removed : 1
GM Clock Identity : 60:4D:39:FF:FE:FF:C5:00
GM Priority1 : 0
GM Priority2 : 128
GM Clock Accuracy : 0xfe
GM Clock Class : 248
GM Time Source : internal-oscillator(160)
GM UTC Offset : 34
GM UTC Offset Valid : false
GM Time Scale : PTP
GM Time Traceable : false
GM Leap59 : false
GM Leap61 : false
GM Frequency Traceable : false
Проверка состояния PTP foreign-master на Switch2:
Switch# show ptp foreign-master
Foreign_master_port_identity Qualification Interface
---------------------------------------------------------------
*60:4D:39:FF:FE:FF:C5:00@9 true eth-0-9
Проверка состояния порта PTP на Switch2:
Switch# show ptp interface eth-0-9
---------------------------------------------------------------
Interface : eth-0-9
----------------------- Port Configure -----------------------
PTP state : enable
Port ID : 5E:C4:DC:FF:FE:AE:78:00@9
Delay Mechanism : peer
Step Mode : two
Port State : slave
Announce Interval : 1
Sync Interval : 0
Announce Receipt Timeout : 4
PDelay_Req Interval : 0
Peer Mean Path Delay : 0
----------------------- Port Statistic -----------------------
Recv Packet Statistics
---------------------------------------------------------------
Announce : 2944 Sync : 5837
Delay_Req : 0 Pdelay_Req : 5876
Delay_Resp : 0 Pdelay_Resp : 5876
Follow_Up : 5837 Pdelay_Resp_Follow_Up : 5875
Unknown : 0
Send Packet Statistics
---------------------------------------------------------------
Announce : 15 Sync : 30
Delay_Req : 0 Pdelay_Req : 5876
Delay_Resp : 0 Pdelay_Resp : 5876
Follow_Up : 27 Pdelay_Resp_Follow_Up : 5876
Unknown : 0
Discard Packet Statistics
---------------------------------------------------------------
Announce : 0 Sync : 9
Delay_Req : 0 Pdelay_Req : 0
Delay_Resp : 0 Pdelay_Resp : 0
Follow_Up : 9 Pdelay_Resp_Follow_Up : 0
Unknown : 0
Switch# show ptp interface eth-0-18
---------------------------------------------------------------
Interface : eth-0-18
----------------------- Port Configure -----------------------
PTP state : enable
Port ID : 5E:C4:DC:FF:FE:AE:78:00@18
Delay Mechanism : peer
Step Mode : two
Port State : master
Announce Interval : 1
Sync Interval : 0
Announce Receipt Timeout : 4
PDelay_Req Interval : 0
Peer Mean Path Delay : 0
----------------------- Port Statistic -----------------------
Recv Packet Statistics
---------------------------------------------------------------
Announce : 0 Sync : 0
Delay_Req : 0 Pdelay_Req : 5680
Delay_Resp : 0 Pdelay_Resp : 5680
Follow_Up : 0 Pdelay_Resp_Follow_Up : 5680
Unknown : 0
Send Packet Statistics
---------------------------------------------------------------
Announce :2950 Sync : 5860
Delay_Req : 0 Pdelay_Req : 5868
Delay_Resp : 0 Pdelay_Resp : 5680
Follow_Up : 5858 Pdelay_Resp_Follow_Up : 5680
Unknown : 0
Discard Packet Statistics
---------------------------------------------------------------
Announce : 0 Sync : 0
Delay_Req : 0 Pdelay_Req : 0
Delay_Resp : 0 Pdelay_Resp : 0
Follow_Up : 0 Pdelay_Resp_Follow_Up : 0
Unknown : 0
Проверка глобального состояния PTP на Switch3:
Switch# show ptp
---------------------- Global Configure ----------------------
PTP State : enable
Port Number : 1
Domain : 0
Slave Only : true
Clock Type : ordinary clock
Priority1 : 128
Priority2 : 128
Clock Accuracy : 0xfe
Clock Class : 255
Time Source : internal-oscillator(160)
UTC Offset : 34
Leap59 : false
Leap61 : false
Local Clock Identity : A0:D2:25:FF:FE:B1:F8:00
Set systime via PTP: : false
----------------------- BMC Properties -----------------------
Receive Member : eth-0-18
Parent Clock Identity : 5E:C4:DC:FF:FE:AE:78:00
Parent Port Number : 18
Mean Path Delay : 0
Offset From Master : 0
Step Removed : 2
GM Clock Identity : 60:4D:39:FF:FE:FF:C5:00
GM Priority1 : 0
GM Priority2 : 128
GM Clock Accuracy : 0xfe
GM Clock Class : 248
GM Time Source : internal-oscillator(160)
GM UTC Offset : 34
GM UTC Offset Valid : false
GM Time Scale : PTP
GM Time Traceable : false
GM Leap59 : false
GM Leap61 : false
GM Frequency Traceable : false
Проверка состояния PTP foreign-master на Switch3:
Switch# show ptp foreign-master
Foreign_master_port_identity Qualification Interface
---------------------------------------------------------------
*5E:C4:DC:FF:FE:AE:78:00@18 true eth-0-18
Проверка состояния порта PTP на Switch3:
Switch# show ptp interface eth-0-18
---------------------------------------------------------------
Interface : eth-0-18
----------------------- Port Configure -----------------------
PTP state : enable
Port ID : A0:D2:25:FF:FE:B1:F8:00@18
Delay Mechanism : peer
Step Mode : two
Port State : slave
Announce Interval : 1
Sync Interval : 0
Announce Receipt Timeout : 4
PDelay_Req Interval : 0
Peer Mean Path Delay : 0
----------------------- Port Statistic -----------------------
Recv Packet Statistics
---------------------------------------------------------------
Announce : 3472 Sync : 6884
Delay_Req : 0 Pdelay_Req : 6919
Delay_Resp : 0 Pdelay_Resp : 6917
Follow_Up : 6884 Pdelay_Resp_Follow_Up : 6917
Unknown : 0
Send Packet Statistics
---------------------------------------------------------------
Announce : 0 Sync : 0
Delay_Req : 0 Pdelay_Req : 6920
Delay_Resp : 0 Pdelay_Resp : 6919
Follow_Up : 0 Pdelay_Resp_Follow_Up : 6919
Unknown : 0
Discard Packet Statistics
---------------------------------------------------------------
Announce : 0 Sync : 11
Delay_Req : 0 Pdelay_Req : 0
Delay_Resp : 0 Pdelay_Resp : 3
Follow_Up : 11 Pdelay_Resp_Follow_Up : 3
Unknown : 0
Настройка домена синхронизации между устройствами с Transparent Clock
Шаг 1: Изменение Switch2 с Boundary Clock на Transparent Clock
Установите тип устройства как peer-to-peer transparent clock и включите PTP глобально. Перейдите в режим настройки интерфейса и активируйте PTP на интерфейсе:
Switch# configure terminal
Switch(config)# ptp device-type p2ptc
Switch(config)# ptp global-enable
Switch(config)# interface range eth-0-9 , 18
Switch(config-if)# ptp enable
Шаг 2: Проверка
Проверка глобального состояния PTP на Switch2
Switch# show ptp interface eth-0-9
---------------------------------------------------------------
Interface : eth-0-9
----------------------- Port Configure -----------------------
PTP state : enable
Port ID : 5E:C4:DC:FF:FE:AE:78:00@9
Delay Mechanism : peer
Step Mode : two
Port State : normal
PDelay_Req Interval : 0
Peer Mean Path Delay : 0
----------------------- Port Statistic -----------------------
Recv Packet Statistics
---------------------------------------------------------------
Announce : 6545 Sync : 12985
Delay_Req : 0 Pdelay_Req : 13024
Delay_Resp : 0 Pdelay_Resp : 13016
Follow_Up : 12985 Pdelay_Resp_Follow_Up : 13016
Unknown : 0
Send Packet Statistics
---------------------------------------------------------------
Announce : 15 Sync : 30
Delay_Req : 0 Pdelay_Req : 13021
Delay_Resp : 0 Pdelay_Resp : 13024
Follow_Up : 27 Pdelay_Resp_Follow_Up : 13024
Unknown : 0
Discard Packet Statistics
---------------------------------------------------------------
Announce : 0 Sync : 9
Delay_Req : 0 Pdelay_Req : 0
Delay_Resp : 0 Pdelay_Resp : 5
Follow_Up : 9 Pdelay_Resp_Follow_Up : 5
Unknown : 0
Switch# show ptp interface eth-0-18
---------------------------------------------------------------
Interface : eth-0-18
----------------------- Port Configure -----------------------
PTP state : enable
Port ID : 5E:C4:DC:FF:FE:AE:78:00@18
Delay Mechanism : peer
Step Mode : two
Port State : normal
PDelay_Req Interval : 0
Peer Mean Path Delay : 0
----------------------- Port Statistic -----------------------
Recv Packet Statistics
---------------------------------------------------------------
Announce : 0 Sync : 0
Delay_Req : 0 Pdelay_Req : 13026
Delay_Resp : 0 Pdelay_Resp : 13019
Follow_Up : 0 Pdelay_Resp_Follow_Up : 13019
Unknown : 0
Send Packet Statistics
---------------------------------------------------------------
Announce : 6651 Sync : 13208
Delay_Req : 0 Pdelay_Req : 13212
Delay_Resp : 0 Pdelay_Resp : 13026
Follow_Up : 13208 Pdelay_Resp_Follow_Up : 13026
Unknown : 0
Discard Packet Statistics
---------------------------------------------------------------
Announce : 0 Sync : 0
Delay_Req : 0 Pdelay_Req : 0
Delay_Resp : 0 Pdelay_Resp : 6
Follow_Up : 0 Pdelay_Resp_Follow_Up : 6
Unknown : 0
Проверка глобального состояния PTP на Switch3
Switch# show ptp
---------------------- Global Configure ----------------------
PTP State : enable
Port Number : 1
Domain : 0
Slave Only : true
Clock Type : ordinary clock
Priority1 : 128
Priority2 : 128
Clock Accuracy : 0xfe
Clock Class : 255
Time Source : internal-oscillator(160)
UTC Offset : 34
Leap59 : false
Leap61 : false
Local Clock Identity : A0:D2:25:FF:FE:B1:F8:00
Set systime via PTP: : false
----------------------- BMC Properties -----------------------
Receive Member : eth-0-18
Parent Clock Identity : 60:4D:39:FF:FE:FF:C5:00
Parent Port Number : 9
Mean Path Delay : 0
Offset From Master : 0
Step Removed : 1
GM Clock Identity : 60:4D:39:FF:FE:FF:C5:00
GM Priority1 : 0
GM Priority2 : 128
GM Clock Accuracy : 0xfe
GM Clock Class : 248
GM Time Source : internal-oscillator(160)
GM UTC Offset : 34
GM UTC Offset Valid : false
GM Time Scale : PTP
GM Time Traceable : false
GM Leap59 : false
GM Leap61 : false
GM Frequency Traceable : false
Проверка PTP Foreign Master на Switch3
Switch# show ptp foreign-master
Foreign_master_port_identity Qualification Interface
---------------------------------------------------------------
*60:4D:39:FF:FE:FF:C5:00@9 true eth-0-18